package rohyunji;

public class J02_Operators {

	/*
	 연산자 Operator
	 컴퓨터 프로그램은 특정기능을 수행할 작업들로 구성됨 연산자는 이러한 작업을 표현하는 기호
	 작업에는 더하기,빼기,곱하기,나누기,비트 이동등이 있음
	 연산자는 한/두/세 개의 피 연산자에서 작업을 수행함
	 피연산자operand는 작업의 대상을 의미 
	 */
	public static void main(String[] args) {
		
		//단항연산자 ++,--,! 등등등
		int val1=10;
		int val2=++val1;//val1=val1+1(증감연산자)
		//int val3=--val1;
		boolean isMarried=true;
		
		System.out.println("------------------단항연산자-----------------------------");
		System.out.println("val1=10 ,val2=val1+1="+val2);
		System.out.println("var1="+val1+" (val1 자체가  증감연산)");
		System.out.println();
		System.out.println("isMarried="+isMarried+"      !isMarried="+!isMarried);
		
		//산술연산자 +,-,*,/,%
		int op1=300;
		int op2=125;
		int op3=123;
		int op4=23;
		
		int plus=op1+op2;
		int sub=op1-op2;
		int mul=op1*op2;
		int div=op1/op2;
		float div1=op1/(float)op2; 
		float div2=op3/(float)op4;
		double div3=op3/(float)op4;
		double div4=op3/(double)op4;
		
		
		int mod=op1%op2;
		System.out.println("------------------산술연산자-----------------------------");
		System.out.println("op1="+op1+"  op2="+op2);
		System.out.println("plus="+plus+", sub="+sub+", mul="+mul+", div="+div+",mod="+mod);
		//실수를정수로 나누면 결과는실수 , 수식의결과 유형과그것을저장하는 변수의 유형은 서로일치해야함
		System.out.println("<실수나누기>");
		System.out.println(div1+" "+div2+" "+div3+" "+div4);
	
		
		// 관계/동등 연산자:>,<,>=,<=,==,!=
		boolean rel1=100>150;
		boolean rel2=100<150;
		boolean rel3=100>=150;
		boolean rel4=100<=150;
		boolean rel5=100==150;
		boolean rel6=100!=150;
		System.out.println("------------------관계/동등 연산자-----------------------------");
		System.out.println(rel1+" "+rel2+" "+rel3+" "+rel5+" "+rel5+" "+rel6);
		
		//조건연산자 :AND(모두가참이면참),OR(하나만참이면참),&&(AND연산),||(OR연산), ?:
		
		boolean cond1=(100>150)&&(op1 == op2); //앞의것이거짓이므로  &&검사안함
		boolean cond2=(op1==op2)&&(op1>op2); 
		boolean cond3=(100>150)||(op1 == op2);
		boolean cond4=(150>100)?true:false;
		System.out.println("------------------조건연산자-----------------------------");
		System.out.println(cond1+" "+cond2+" "+cond3+" "+cond4);
		
		//대입연산자 =,+=,-=,*=,/=,%=
		int assg1=100;
		int assg2=100;
		int assg3=100;
		int assg4=100;
		int assg5=100;
		
		assg1+=200;//assg1+200=1300
		assg2-=150;//assg2-150=-50
		assg3*=20;//assg3*20=2000
		assg4/=10;//assg4/10=10
		assg5%=2;//assg5%2=0
		System.out.println("------------------대입연산자-----------------------------");
		System.out.println(assg1+" "+assg2+" "+assg3+" "+assg4+" "+assg5);	
	}

}
